package utils.collection_;


import org.junit.platform.commons.util.CollectionUtils;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * @Description: 集合工具类
 * @CreateTime: 2024-05-15  22:37
 * @Author: JAMILA
 * @Version: 1.0
 */

public class CollectionUtil {

    /**
     * 数组转换成ArrayList
     *
     * @param array 数组
     * @param <T>
     * @return
     */
    public static <T> List<T> arrayToList(final T[] array) {
        final List<T> l = new ArrayList<T>(array.length);

        for (final T s : array) {
            l.add(s);
        }
        return l;
    }


    /**
     * 集合去重-Set方式
     *
     * @param data
     * @param <T>
     * @return
     */
    public static <T> Set<T> removeDuplicateBySet(List<T> data) {

        if (data == null || data.isEmpty()) {
            return new HashSet<>();
        }
        return new HashSet<>(data);
    }


    /**
     * 集合去重-List方式
     *
     * @param data
     * @param <T>
     * @return
     */
    public static <T> List<T> removeDuplicateByList(List<T> data) {

        if (data == null || data.isEmpty()) {
            return new ArrayList<>();

        }
        List<T> result = new ArrayList<>(data.size());
        for (T current : data) {
            if (!result.contains(current)) {
                result.add(current);
            }
        }
        return result;
    }


}
